1. Field of the Invention
The present invention relates to a semiconductor memory system, and particularly to a programmable semiconductor memory system employing an EPROM.
2. Description of the Prior Art
Nonvolatile read only memories (ROMs) are classified into mask ROMs, EPROMs, and EEPROMs depending on their data writing methods. The mask ROMs have a large capacity and are inexpensive but not programmable. The EPROMs are programmable but, to program them, must once be removed from boards and irradiated with ultraviolet rays, thereby taking labor and time, and increasing costs. The EEPROMs are electrically erasable and programmable but expensive.
FIG. 1 shows a conventional memory system used for storing a machine control program, a password, etc., which are seldom rewritten. This system comprises an EPROM 1 of 8 kilowords (1024 words.times.8) divided into eight banks each with one kiloword so that the system may be rewritten (reprogrammed) seven times. The eight banks are switched from one to another through a bank switching block 3. The block 3 receives an address signal of 10 bits of A0 to A9 for addressing one of the one-kiloword memory banks, and adds a three-bit signal which indicates the number of write operations to the upper part of the address signal. According to the address signal, a write controller 5 writes data into the addressed bank of the EPROM 1.
The EPROM 1 has a one-word register for storing the number of write operations. Whenever data is written into the EPROM 1, "1" is set in the one-word register sequentially from a lower bit thereof, and the number of write operations is transferred to the bank switching block 3 through the controller 5 and stored in a three-bit register of the block 3. The three bits are added as upper bits of an address, thereby switching the banks of the EPROM 1 from one to another where data is to be written.
This system cannot efficiently use the EPROM. Firstly because each memory bank has the fixed capacity of one kiloword. If data to be stored in one bank is of 500 words for example, the remaining 524 words of the bank will be unused. In view of the capacity of eight kilowords, the EPROM is capable of being rewritten 15 times for the data of 500 words. Actually, however, the EPROM can be rewritten only seven times to leave more than half the memory unused. In addition, the EPROM has a limit on the maximum size of data to be written at one time. If data is greater than one kiloword, the EPROM cannot hold it. This limit on a single write operation must have, therefore, a margin, which further increases redundant memory regions.